    <?php

	require_once('./mime.php');
	
	$file = $_GET["file"];
    
	//verification d'un eventuel encodage en base64 du nom du fichier
	if(isset($_GET["encode_name_file"])){
		if($_GET["encode_name_file"] === "true") $encodenamefile = true;
		if($_GET["encode_name_file"] === "false") $encodenamefile = false;
	}else{
		$encodenamefile = false;
	}
    
	//verification de la demmande ou non demmande de protection contre la mise en cache
	if(isset($_GET["cache"])){
		if($_GET["cache"] === "true")$cache = true;
		if($_GET["cache"] === "false")$cache = false;
	}else{
		$cache = true;
	}
    
	//verification de l'envoie ou non d'un nom de ficher a inserer dans une eventuelle boite de telechargement
	if(isset($_GET["filename"])){
		if($_GET["filename"] !== "null") $filename = array(true,$_GET["namefile"]);
		if($_GET["filename"] === "null") $filename = array(false);
	}else{
		$filename = array(false);
	}
    
	//decodage eventuel de nom du fichier a ouvrir
	if($encodenamefile){
		$file = base64_decode($file);
	}else{
		$file = $file;
	}
    
	//ouverture du fichier en streaming
	$stream = fopen($file,"rb");
	$ext = $content_type[getMimeType($file)];
	$size = filesize($file);
	//envoie des entete du fichier
	header("Content-Type: ".$ext); //envoie du type de fichier
	header("Content-Length: ".$size); //envoie de la taille du fichier
	if($cache): //interdiction eventuel de mise en cache du fichier
	else:
		header("Cache-Control: no-cache, must-revalidate");
		header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
	endif;
	
	if($filename[0]): //envoie eventuel d'un nom de fichier a inserer dans une eventuel boite de telechargement
		header("Content-Disposition: attachment; filename='".$filename[1]."'");
	endif;
	header("Content-Transfer-Encoding: binary");
	
	//envoie du contenue du fichier
	while (!feof($stream)) echo fgets($stream,8192);
	
	
	
	//fermeture du streaming
	fclose($stream);
	
    ?>